import type { ConditionsTypeEnums, OperatorTypeEnums, OrderEnums } from "./wrapper-enums";

//表单更新的字段，新值，旧值
export interface UpdateFormChangeType {
  _up_field?: string[];  // 更新字段
  _up_o?: string[];           // 旧值
  _up_n?:string[];//新值
}


export interface UpdateWrapper {
  u_data?:object,
  _up_wrapper?:UpdateFormChangeType
}

//通用查询wrapper
export interface QueryWrapper{
  page?:QueryPage;
  sort?: QueryOrder[];
  condition?: QueryCondition[];
}

//字段值、类型、查询逻辑 处理
export interface QueryCondition {
  field: string; // 字段名（对应后端实体字段）
  operator: OperatorTypeEnums; // 操作符
  value: string | number | Array<string | number>; // 值
  valueType?: ConditionsTypeEnums; // 值类型（特殊类型需转换）
}

//排序 对象
export interface QueryOrder{
  filed?:string,
  orderType: OrderEnums
}

export interface QueryPage{
  pageNum?: number | 0,
  pageSize?: number | 20
}


